Command console
See also: Manual/Console Commands The "Command console" is a powerful command-line user interface that allows you to set many options, including those that are not visible in the menus. The console from Quake 3 has been improved by ioquake3, with a better "autocomplete" feature. To "pull down" (show) the console press Shift+Esc. You might find other places that says press: ~, ', `, ½, ^, §, \ or æ but Shift+Esc works on most keyboards. Note: it has been reported that "Microsoft eHome" keyboard drivers could cause problems in pulling down the console. For example: Model change: /seta model "sergei/red" Model head change: /seta headmodel "skelebot/red" Key function: /'bind' (e.g. /bind g say "Hello" (when you press 'g', you'll send a message "Hello")) What you can do? Say sg: /say "Hello" You can use up and down arrows to see previous used commands. You can use PageUp/PageDown keys to scroll view (to see previous messages). If you scrolled back the console, it will not scoll automatically when new messages are added (not even if you close and open it again): you have to scroll it to the bottom (to the last line), and it will return to act normally (showing the last messages as they are added). You can use the "tab" key to autocomplete some commands. For example, if you write /map and press tab, you will see there is also a command called map_restart; if you write \map_r and press tab, the command will be completed to \map_restart; if you write \map a and press tab, you will see the list of all the maps where the name begins with "a". Writing a variable name without setting its value will return the present value, and often also its "default" value. Warning: you should check default values after starting a match... if you check them from main menu, before having entered a match, previous value stored in your config file may be erroneusly indicated as "default" one, and some variables could even be referred as not existent. Note: make the command begin with / or \, or it will be considered a simple text message, like with the command "/say". When using the specific dedicated server executable (oa_ded), instead, you do not need the slash before the command. You can export the console log to a text file, simply using the command \condump . For example, if you type \condump test.txt, a text file called test.txt will be created in your homepath\baseoa (or homepath\current_mod) folder, containing all the messages you currently have in your console. Set variables To set a variable, you can usually simply write \ in console. It works if the variable (also known as "cvar") was first declared in C source code, and usually it is the case, but sometimes you may need to use particular commands to set a variable: * /set - Sets a cvar from console, even if it wasn't declared in C code * /setu - As set, but the variable is flagged as "userinfo" * /sets - As set, but the variable is flagged as "serverinfo" (Quakestat and similar tools will show it in the serverinfo. This means that you can decide to allow players to know about some of your server options -for example some special game options-, from dpmaster web page, Qtracker and similar.). It may be very useful, but the only problem is that there is a limit on the data that can be passed through this method: if you see an "Info string length exceeded" message in your server console, this means that you have to set less variables as "sets", or you should shorten them. * /seta - As set, but the variable is flagged as "archived" (will be saved using /writeconfig). After you "created" a variable with a "set" or similar command, then you can update it also without using the "set" command. A new variable created with "set" command probably will not be stored after you exit the game, while it would be stored permanently if you created it using the "seta" command. Some variables may not be stored into the q3config.cfg file, even if you used the "seta" command... remember that you can store and automatically load additional variables and commands creating a text configuration file named autoexec.cfg in your baseoa folder. Everything in the "autoexec.cfg" file will be executed everytime you will launch OpenArena. It is possible to delete a variable from your .cfg file, simply editing it with an external text editor program. It is possible to use the \unset command to delete (that is a different thing than setting to empty "") a user created variable (does not work with pre-defined variables, e.g. "name"). Note: sometimes it is possible that you may find some variables, specific from some mods you have used, also stoered in the q3config.cfg file in your baseoa folder (while they are usually stored in the configuration file in the mod's folder). Don't be surprised if they have not effect under baseoa. You can set variables also form OS' command line, when launching OpenArena: for example, under Microsoft Windows, you can use its "command prompt", batch file or link, to start a mod directly (openarena.exe +set fs_game missionpack will launch The Mission Pack mod). It exists the \cvar_restart command that flushes all of your variables (including the pre-defined ones, bringing them to their default values). WARNING: this one is a "dangerous" command, similar to deleting your q3config.cfg file. D''on't try it'' unless you backed up your configuration: it does not ask any confirmation, and it will delete your statistics, player settings, unlocked single player deathmatch tiers... Please notice that it does not affect all of your mods, since each mod has got its own q3config.cfg file. Remote control See also: Manual/Multiplayer and Servers You can set a password to remotely connect and change your server options when you are not physically working on the server machine. To do this, first set a "rcon password" on your server. Just use \rconpassword <"your_password"> command (obviously, select the password you wish). If you don't set a password, you will not be able to remote control your server. Then open a standard OpenArena client and simply connect to your server as any player. Use \rconpassword <"your_password"> to enter the same password you set on the server before. Then use \rcon '' '' to execute a command on the server. For example, \rcon fraglimit shows server's current "fraglimit" value, and \rcon fraglimit 20 sets that value to 20. You don't even need to connect to the server as a client to be able to send remote commands to it. This is very useful if your server is full (all player slots busy) and you can't connect to it. In this case, just start an OpenArena client and, without entering a server, use \rconaddress ' (or \rconaddress :) to set the IP of your server and \rconpassword ' to set the same password as your server, then use \rcon ' ' to send commands to your server. Warning: do not use "\sets" command to set rconpassword, or everyone will see it in the \serverstatus! Some commands * /map ' - loads the specified map. * /devmap - loads the specified map with cheats enabled. * /spmap - loads the specified map in "single player" mode (g_gametype 2), already with bots inside. * /spdevmap - loads the specified map in "single player" mode (g_gametype 2), already with bots inside, and with cheats enabled. * /cg_fov ' - (default is 90) This changes the field of view: if you set it to 120 or so, you will have a wider visual angle (but the world will seem a bit deformed) * /map_restart - restarts the current game. You will have to do this to apply some changes. * /cg_drawfps - if enabled (1), shows current frames-per-second. * /cg_drawspeed - if enabled (1), shows your current horizontal speed. Some mods (like Alternate Fire) may use another command, /cg_speedometer 1. * /bind '' '' - Assign a specific command to a specific key. For example, /bind i screenshotjpeg allows to press "i" key to take a screenshot. Omitting parameter, shows current command binded to the key specified. * /bindlist - Shows your key bindings. * /unbind ' - Removes a key binding. * /toggle ' value2, ... - "Switches" the values of a cvar, useful together with "bind" command. An example, switching between boolean (0 or 1) values: to have the weapon bar always shown, you usually have to write \cg_alwaysweponbar 1, and \cg_alwaysweaponbar 0 to revert to the standard behavior: if you want to bind it to specific keys, you would have to use \bind f9 cg_alwaysweaponbar 1 and \bind f10 cg_alwaysweaponbar 0: F9 would enable the option and F10 would disable it; the "toggle" command would allow to use a single key instead. Write \toggle cg_alwaysweaponbar and the variable will be set to 1 or to 0 each time you enter the command: thus, if you write \bind f11 toggle cg_thirdperson, then you will have the option enabled or disabled each time you will press the F11 button. It works also with non-boolean values: if you type /bind f12 toggle cg_weaponbarstyle 0, 1, 2, 3, 4, 5, 6, 7, 8 then you will change the look of the weapon bar each time you will press the F12 key. * /sv_pure <0 or 1> - If enabled, the server does checks to allow clients to use only the .pk3 files (those containing, for example, game logic, models and textures) that are present also on the server, ignoring the others. This ensures that the client uses files that are compatible with the server preventing a lot of compatibility problems. If disabled the clients are responsible for only having compatible files. Some consider this an anti cheat although technically that is a side effect. Disabling, instead, allows clients to use custom pk3s, for example their own models (in this case, that non-standard model will be seen only by other players with the same addon pack: other clients will see a standard model instead). "Pure server" can be disabled also during testing, because disabling it allows to load data like maps and models also if not packaged into pk3 files. OpenArena uses sv_pure to unload and reload patch files as needed; it is sv_pure that allows a 0.8.5 client to connect to a 0.8.1 server: without it, the two versions would not be compatible. A general rule is that sv_pure should always be 1. Do not report bugs that are caused by turning off sv_pure. * /shuffle - Restarts the map and automatically rearranges teams (how human players are divided into the two teams). It can be used via callvote during team game modes. * /cvarlist - Lists all your variables, with their values and attributes. * /condump - Exports your console log to a text file. * /toggleconsole - If you type \toggleconsole when the console is open, it will close it (like it would do using the apposite key). You can use \bind toggleconsole to set an additional key to open the console, but, unlike the standard key for that, this one will not work when the ESC menu is open. * /systeminfo - Returns some info about your server settings. * /team - Makes you join the game or spectate (like the "Start" menu under the ESC menu). \team p or \team player enters the game. \team r or \team red enters the game in the red team. \team b or \team blue enters the game in the blue team. \team f or \team free enters the game in the smallest/losing team. \team s or \team spectator switches to spectator mode. * /follow - When you are in spectator mode, makes you follow a particular player, specifying a player name or a position in the table. Examples: \follow tony will make you follow a player named "Tony", and \follow 2 will make you follow the player that is currently in the second position on the scoreboard (you will continue follow him even if his position will change). Tip: you can show the scoreboard by holding the TAB key. * /g_synchronousclients <0 or 1> - This have to be usually (almost always) set to 0 (its default value), and set to 1 only when you are recording a demo. Enabling it allows to record better quality demos, but it brings bad effects to your game experience (like lag), and thus you have to disable it when not recording. Special game options There are various CVARs that control some additional game options, other than the main gametypes, for example "instantgib" or "all rockets" modes. Please read 'Special game options' for more info. Console look options * cl_consoleHeight -> value between 0.1 and 1.0 (1.0 for full screen console; 0.5 as default) * cl_consoleType (default = 0; 2 = new v0.8.5 transparent style) :With ConsoleType 2 (for the following settings, values between 0.0 and 1.0): :* cl_consoleColorAlpha (transparency; default = 0.8) :* cl_consoleColorRed (default = 1) :* cl_consoleColorGreen (default = 0) :* cl_consoleColorBlue (default = 0) See also * Manual/Console Commands * Manual/Graphic options * Tweak * Tweak#Tweaking online gaming parameters * Manual/Multiplayer#Commands External links * Quake 3 Arena Console Commands on joz3d.net (red colored text indicates commands that have been removed from last Quake 3 Arena PointReleases). A long and useful list of Q3 commands; just remember that some of them may have been disabled or slightly modified in ioquake3 or OpenArena. * ioquake3 help, with commands and variables added to the engine. * Console reference page on ioquake3 wiki. * Quake 3 Arena tweak guide on techspot.com. * Commander Keen's Quake 3 Console page: Commands - Variables - Tweaking * OpenArena 0.8.1 settings: from this post you can find this 5-pages PDF file (you have to be registered on the forum to get this one), while from this public site you can download a 1-page (small fonts) PDF file, an XLSX file, or an XML file. These lists contain a lot of variables, briefly explained. Category:Manual